The invention relates in general to the field of engineering design and more particularly to a system and method for integrating scheduling and design environments.
Many tools exist today that allow for the management of a design database which is used to store circuit, semiconductor, and other hardware and software design documentation. Many conventional software tools also exist for planning and scheduling the tasks to be conducted in a particular project. Both such types of tools are effective if used as xe2x80x9cstand-alonexe2x80x9d tools. However, a design environment is a xe2x80x9cteam-drivenxe2x80x9d environment, and therefore changes in a particular design or project schedule are effective only if the design database reflects scheduling changes, and vice versa. Using current tools, modifications made to a scheduling database are manually added in a design database. For example, a design team member may store a design in a design database. The design manager must then recognize that a change has been made, change the schedule, update the schedule database and then re-evaluate bottlenecks and deadlines within the process flow of a design or project. Changes that are undetected because of human error may set the design project back and result in missed delivery dates. This manual process is both time consuming and inexact. The error probability and the amount of time required to implement changes increases exponentially with design complexity and team size.
Accordingly, a need has arisen for a system and method of integrating scheduling and design environments. The present invention provides a system and method for integrating scheduling and design environments that addresses the shortcomings of prior systems and methods in the field of design engineering.
In one embodiment of the present invention, a system for project management integration includes a design database having design data stored in a hierarchical manner representable by design hierarchical data. The system further includes a schedule database having scheduling data stored in a hierarchical manner representable by schedule hierarchical data. The system also includes an integration module in communication with the design database and the schedule database, the integration module operable to compare the design hierarchical data and the schedule hierarchical data in response to changes to one of the design or schedule databases, the integration module further operable to change one of the design and schedule databases in response thereto.
In another embodiment of the present invention, a method of project management integration includes detecting a change to data of a first database and obtaining first hierarchical data associated with the first database in response to the detected change. The method also includes obtaining second hierarchical data associated with a second database in response to the detected change, comparing the first hierarchical data to the second hierarchical data and identifying at least one difference between the first and second of hierarchical data, and automatically generating and sending an update command to the second database automatically in response to the at least one identified difference.
In yet another embodiment of the present invention, a system for automatically updating data of a first database in response to changes made to a second database includes a first interface in communication with the first database and a second interface in communication with the second database, the second interface operable to detect changes to data in the second database. The system also includes a comparison module in communication with the first and second interface, the comparison module operable to compare first hierarchical data associated with the first database to second hierarchical data associated with the second database in response to a change detected by the second interface. The comparison module is also operable to send update data to the first interface in response to comparing the first and second hierarchical data, the first interface being operable to change the data in the first database in response to the update data.